package br.com.ava.view.fornecedor;

import java.io.IOException;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;

import br.com.ava.core.fornecedor.Fornecedor;
import br.com.ava.core.fornecedor.FornecedorMediator;
import br.com.ava.core.infra.excecao.NegocioException;
import br.com.ava.view.AplicacaoMB;

@ManagedBean
public class FornecedorIncluirMB extends AplicacaoMB {

	private Fornecedor fornecedor;

	@ManagedProperty(value = "#{fornecedorMediator}")
	private FornecedorMediator fornecedorMediator;

	public FornecedorIncluirMB() {
		this.fornecedor = new Fornecedor();
	}

	@PostConstruct
	public void init() {
		validarPermissao();
	}

	public void confirmar() throws IOException {

		try {
			fornecedorMediator.salvar(fornecedor);
			adicionarMensagemCadastroSucesso();
			fornecedor = new Fornecedor();
		} catch (NegocioException erro) {
			adicionarMensagemErro(erro.getMensagens());
		}
	}

	public FornecedorMediator getFornecedorMediator() {
		return fornecedorMediator;
	}

	public void setFornecedorMediator(FornecedorMediator fornecedorMediator) {
		this.fornecedorMediator = fornecedorMediator;
	}

	public Fornecedor getFornecedor() {
		return fornecedor;
	}

	public void setFornecedor(Fornecedor fornecedor) {
		this.fornecedor = fornecedor;
	}

	@Override
	public String perfilPagina() {
		return "funcionario";
	}

}
